package ru.urfc.portal.ui.client;

import javax.xml.bind.annotation.XmlRootElement;

import ru.urfc.portal.ui.portlets.BasePortlet;

public interface Constants {
	public static final String JNDI_DATA_SOURCE_SYS = "jdbc/urfc-sys";

	public static final int PAGING_SIZE = 5;
	public static final String APP = "urfc-portal";
	public static final String REST = "rest";
//	public static final String URFC_PRICES = "http://www.urfc.ru/prices.html";
	public static final String GWT_DEBUG_ARG = "gwt.codesvr";

	public static final String BALANCE_TARGET_ID = "BalanceTarget";

	/**
	 * {@link XmlRootElement} names
	 */
	public static final String CONTRAGENT = "contragent";
	public static final String USER = "user";	
	public static final String RECORD = "record";
	public static final String NET = "net";
	public static final String NET_WITH_DEVICES_NUMBER = "net-ndevices";
	public static final String DEVICE = "device";
	public static final String CHANNEL = "channel";
	public static final String LICENSE = "license";
	public static final String SECTOR = "sector";
	public static final String CERTIFICATE = "certificate";
	public static final String DEVICE_WITH_NET = "device-with-net";
	public static final String DEVICE_STATE_CHANGE = "state-change";
	public static final String SECTOR_FREQUENCIES_ITEM = "frequencies";
	public static final String SECTOR_FREQUENCIES_LIST = "frequencies-list";
	public static final String DEVICE_STATE = "device-state";
	public static final String CONTRACT = "contract";
	public static final String INVOICE = "invoice";
	public static final String INVOICE_FACTURE = "invoice";
	public static final String BALANCE_OPERATION = "balance-operation";
	public static final String ASSOCIATION_KEY = "association-key";
	public static final String NOTIFICATION_SETTINGS = "notifications";
	public static final String USER_ROLE = "user-role";
	public static final String USER_STATE = "user-state";
	public static final String DOCUMENT = "document";
	public static final String CLIENT = "client";
	public static final String BRANCH = "branch";
	public static final String DOCUMENT_TYPE = "document-type";
	public static final String DOCUMENT_STATE = "document-state";
	public static final String DOCUMENT_STATE_CHANGE = "state-change";
	public static final String ATTACHED_FILE = "attached-file";

	/**
	 * REST services path names
	 */
	public static final String CLIENTS = "clients";
	public static final String CLIENT_GENERATE_ASSOCIATION_KEY = "generate-association-key";
	public static final String CLIENT_ASSOCIATED_USERS = "associated-users";
	public static final String CLIENT_DETAILS = "client-details";
	/** REST services path names */
	public static final String CLIENT_NOTIFICATION_SETTINGS = "notification-settings";
	public static final String GLOBAL_NOTIFICATION_SETTINGS = "notification-settings";
	public static final String NOTIFY_ALL = "notify-all";
	/** REST services path names */
	public static final String AUDIT_LOG = "audit-log";
	/** REST services path names */
	public static final String NETS = "nets";
	public static final String NET_CHANNELS = "channels";
	public static final String NET_LICENSES = "frequency-licenses";
	public static final String NET_LICENSE_DOWNLOAD = "download";
	public static final String NET_DEVICES = "devices";
	public static final String NET_STATE_CHANGES = "state-changes";
	/** REST services path names */
	public static final String DEVICES = "devices";
	public static final String DEVICES_STATES = "states";
	public static final String DEVICE_NET = "net";
	public static final String DEVICE_SECTORS = "sectors";
	public static final String DEVICE_CRETIFICATES = "registration-certificates";
	public static final String DEVICE_MEASURENENTS = "measurement-records";
	public static final String DEVICE_DOCUMENTS = "documents";
	public static final String DEVICE_STATE_CHANGES = "state-changes";
	/** REST services path names */
	public static final String CONTRACTS = "contracts";
	/** REST services path names */
	public static final String INVOICES = "invoices";
	public static final String INVOICE_PRINT = "print";
	public static final String INVOICE_FACTURES = "invoice-factures";
	public static final String BALANCE_OPERATIONS = "balance-operations";
	public static final String LAST_BALANCE_OPERATION = "last";
	/** REST services path names */
	public static final String USERS = "users";
	/** REST services path names */
	public static final String USER_ASSOCIATIONS = "user-associations";
	/** REST services path names */
	public static final String DOCUMENTS = "documents";
	public static final String DOCUMENT_TYPES = "document-types";
	public static final String DOCUMENT_STATES = "document-states";
	public static final String DOCUMENT_SELECTED_DEVICES = "selected-devices";
	public static final String DOCUMENT_SUBMIT = "submit";
	public static final String DOCUMENT_PRINT = "print";
	public static final String DOCUMENT_STATE_CHANGES = "state-changes";
	public static final String DOCUMENT_ATTACHED_FILES = "attached-files";
	/** REST services path names */
	public static final String CATALOGS = "catalogs";
	public static final String BRANCHES = "branches";
	public static final String USER_ROLES = "user-roles";
	public static final String USER_STATES = "user-states";
	
	/**
	 * Pages URLs
	 */
	public static final String PAGE_ASSOCIATED_USERS = "associated-users.html";
	public static final String PAGE_ASSOCIATED_USER_EDIT = "associated-user-edit.html?id={0}";
	public static final String PAGE_ASSOCIATED_USER_CREATE = "associated-user-create.html";
	public static final String PAGE_CONTRAGENT_EDIT = "contragent-edit.html?id={0}";
	public static final String PAGE_CLIENT_EDIT = "client-edit.html?id={0}";
	public static final String PAGE_DEVICE_DETAILS = "device-details.html?id={0}";
	public static final String PAGE_NET_DETAILS = "net-details.html?id={0}";
	public static final String PAGE_INVOICE_DETAILS = "invoice-details.html?id={0}";
	public static final String PAGE_BALANCE_OPERATIONS = "balance-operations.html";
	public static final String PAGE_DOCUMENT_DETAILS = "document-details.html?id={0}&type={typeCode}";

	/**
	 * Filters constants
	 */
	public static final String FILTER_FROM_DATE = "fromDate";
	public static final String FILTER_TO_DATE = "toDate";
	public static final String FILTER_INVOICE_NAME = "name";
	public static final String FILTER_CLIENT_NAME = "name";
	public static final String FILTER_CLIENT_INN = "inn";
	public static final String FILTER_CLIENT_OGRN = "ogrn";
	public static final String FILTER_BRANCH_CODE = "branchCode";
	public static final String FILTER_DEVICE_STATE_CODE = "stateCode";
	public static final String FILTER_DEVICE_NET_ID = "netId";
	public static final String FILTER_DOCUMENT_TYPE_CODE = "typeCode";
	public static final String FILTER_DOCUMENT_STATE_CODE = "stateCode";

	/**
	 * Document type codes
	 */
	public static final String DOCUMENT_TYPE_STOP_EXPLOITATION = "StopExploitation";
	public static final String DOCUMENT_TYPE_CALCULATE_ZONE = "CalculateZone";
	public static final String DOCUMENT_TYPE_IMPORT_EXPERTISE = "ImportExpertise";
	public static final String DOCUMENT_TYPE_NOISE_ELIMINATION = "NoiseElimination";
	public static final String DOCUMENT_TYPE_PARAMETERS_CONFIRMATION = "ParametersConfirmation";
	public static final String DOCUMENT_TYPE_SERVICE_ORDER = "ServiceOrder";
	public static final String DOCUMENT_TYPE_TURNON_NOTICE = "TurnonNotice";
	public static final String DOCUMENT_TYPE_LETTER = "Letter";
	public static final String DOCUMENT_TYPE_DOCS_ORDER = "DocsOrder";
	public static final String DOCUMENT_TYPE_REG_DATA_CHANGE = "RegDataChange";
	
	/**
	 * Response codes constants
	 */
	public static final String HTTP_NO_CONTENT = "204";
	public static final String INVALID_ASSOCIATION_KEY = "Invalid key";

	/**
	 * Catalog items constants
	 */
	public static final String CODE_USER_ROLE_USER = "USER";
	public static final String CODE_USER_ROLE_ADMIN = "ADMIN";
	public static final String CODE_USER_STATE_INVITED = "INVITED";
	public static final String CODE_USER_STATE_ACTIVE = "ACTIVE";
	public static final String CODE_USER_STATE_DISABLED = "DISABLED";

	/**
	 * {@link BasePortlet} constants 
	 */
	public static final String GOOGLET_PARAMETER_NAME = "id"; 
	public static final String GOOGLET_PARAMETER_CLIENT_ID = "clientId";
	public static final String GOOGLET_PARAMETER_USER_ID = "userId";
	public static final String GOOGLET_PARAMETER_EMAIL = "email";

	public static final String DOCUMENT_IDS_SEPARATOR = ";";
	public static final String NUMBER_LIST_SEPARATOR = "; ";
	
}
